1. Field of the Invention
This invention relates to rotary position detectors for indicating the angular position of a shaft or other rotating element. More particularly, this invention relates to such position detectors used on motors and galvanometer-based optical scanners.
2. Description of Related Art
Rotary position detectors have many uses, such as detecting the position of the shaft on a motor, for the purpose of electrical commutation. Another such use is to detect the position of a tensioner pulley in a magnetic tape player or web-type printing press, for the purpose of maintaining a constant tension on the tape or paper. One of the more recent uses of a rotary position detector is to sense the position of the accelerator (gas) pedal in an automobile that uses electric motors as a partial or complete means of driving the wheels.
Galvanometer-based optical scanners are used to direct non-moving input light beams to a target area. This type of scanner uses a limited-rotation motor to impart rotational motion onto an optical element, such as a mirror. Normally the mirror is mounted directly on the output shaft of the motor. A position detector is included within the motor, either close to the output shaft, or on the “rear” portion of the motor. This position detector normally outputs a current or voltage signal that is proportional to the relative angle of the motor shaft, and thus, relative to the angle of the mirror with respect to the non-moving input light beam.
Galvanometer-based optical scanners direct a laser beam for marking, cutting, or display purposes, for which positioning accuracy and repeatability can be of critical importance. Therefore, one of the limiting factors of accuracy and repeatability is the performance of the position detector used with the optical scanner.
Ideally, a rotary position detector should only be sensitive to the rotational angle of the scanner shaft. Since a mirror is connected directly to the scanner shaft, it is the rotation angle of the shaft that dictates the direction of the exiting light beam. Axial motion and radial motion generally will not affect the target position of the light beam being reflected by the mirror, and since it is the target light beam position that is important to the scanning system, the output of the position detector should indicate the target position, and be insensitive to things that do not affect that target position, such as axial and radial motion. Axial shaft motion may occur as a dynamic behavior of the scanner. For example, if the magnetic construction of the scanner is not perfect, the shaft may surge outward or inward when strong current pulses are put into the scanner during strong acceleration and deceleration. Radial motion of the scanner can occur as a result of bearing “rumble” or imperfections in manufacturing, which allow a small amount of radial motion of the shaft. Radial shaft motion can also occur as a dynamic effect, if the rotor is not perfectly concentric with the stator components, or if the inertial load (mirror and mount) attached to the output shaft is not perfectly balanced.
A servo controller is connected between the position detector and the motor. If the position detector produces some output as a result of axial or radial shaft motion, the servo controller will mistakenly interpret this errant output as a change in rotational position, resulting in a positioning error of the overall system. For that reason, a perfect rotary position detector will produce an output only as the result of rotational motion, and will not produce an output as the result of axial or radial motion.
An additional desirable property of a rotary position detector, especially for galvanometer scanners used with analog servo systems, includes the feature that the output voltage or current be linear with respect to the rotation angle. That is to say, an incremental change in shaft rotation should produce an equally incremental change in output signal from the position detector. Further, the signal-to-noise ratio should be as high as possible.
There are several ways to sense the position of the shaft within an optical scanner. Two popular types of position detectors comprise capacitive position detectors and optical position detectors.
Capacitive position detectors were used in some of the very earliest galvanometer-based optical scanners. In one known detector, a rotating dielectric butterfly is connected to the scanner shaft, and the detection plates are fixed.
Optical position detectors have emerged recently as the position detector of choice in the field of galvanometer-based optical scanning. Typically, optical position detectors can be made small, and have low inertia, and can be manufactured at low cost. These properties make optical position detectors desirable for optical scanners applied in commercial and consumer markets.
One type of optical position detectors is a “shadow cast” position detector, wherein a large area of light sensor material is attempted to be evenly illuminated, and a shadow is cast on the light sensors by a light blocker. Optical position detectors can use photocells as the light sensors. These photocells are most commonly bulk-area PIN photodiodes, and are used in the “photovoltaic” mode, whereby an electrical current is produced by the photocell, and amplified by an op-amp. The amount of electrical current increases linearly as the intensity of the light over the entire area of the photocell increases linearly. The amount of electrical current also increases linearly as the illuminated portion of the photocell is linearly increased, as long as the illumination across the entire area is constant. That is, if light is illuminating half the light sensor area, and light is blocked from the other half of the light sensor area, the electrical current that is output will be half the amount as of that for a complete illumination of the light sensor, yielding a linear relation of position detector output to photocell area illumination.
Regardless of the type of position detector used, capacitive or optical, all known position detectors are believed to suffer from one common problem: They all output a signal that is indicative of relative shaft rotation, but they do not output a signal that is indicative of absolute shaft rotation. That is to say, it is impossible for the servo controller to read the position signal voltage or current, and know the precise mechanical angle of the shaft, in absolute terms. This is because the output from the photocells or the capacitive plates is proportional to the light produced by the LED or the signal produced by the oscillator, respectively. In the case of the optical position detectors, if the light from the LED increases due to environmental changes, or due to component drift, the output produced by the photocells will increase proportionally. This proportional increase will fool the servo into believing that the shaft has been rotated to a greater mechanical angle. The servo will then try to compensate for this, and generate an error.
All known position detectors attempt to correct for this by using an AGC circuit such as known in the art. In the case of the optical position detectors, the light received by all photocells are added together, to form a “total light” signal voltage. This “total light” voltage is compared to a reference voltage, and an error signal is produced that drives the LED. If the “total light” is sensed to have increased, then the light output by the LED is made to decrease by a corresponding amount, thus trying to maintain the sensitivity of the position detector over time. However, the use of AGC is only good enough to correct first-order problems. All known position detectors suffer from position offset drift (a change in what the position detector believes is the “absolute zero” degree position of the shaft) and position scale drift (a change in what the position detector indicates in terms of volts per degree) due to second-order effects, such as drift of the reference voltage itself, or change of the feedback resistors used in the op-amp circuits. These changes occur with time and temperature.
In the past, attempts have been made to provide additional signals to rotational position detectors that are indicative of certain absolute positions. On an elective or automatic basis, the servo can exercise the galvanometer scanner in search of these additional signals, and thus become aware of the absolute position scale and position offset of the position detector. When implemented in a capacitive position detector, this technique has several parasitic problems. First, capacitive position detectors are very sensitive to the shape of the plate members. Plates with protrusions or notches will have an impacted linearity due to fringe effects that happen as a result of the protrusions or notches. Fringe effects will also impact linearity if additional capacitive plates are used. And whether this technique is used with an optical position detector or with a capacitive position detector, the specially shaped moving butterfly is more expensive to manufacture.
The dominant servo used to control galvanometer-based optical scanners has been the PID servo system made entirely with analog components (analog servos). Analog servo systems have been used because they are relatively inexpensive and relatively simple, and also because up until now, digital servo systems could not achieve the high resolution and high sample rate necessary to be usable with the fastest galvanometer scanners. In order to support the fastest galvanometer scanners currently on the market, and achieve step times in the sub-100-microsecond range, a sample rate of 200 kHz must be used, along with a sampling resolution of 16 bits. And because of the multiple internal calculation steps needed, floating point calculations are highly desirable. Until recently, it was cost-prohibitive to implement a servo controller in a digital form with this high sample rate and resolution. However, with the constant progress that inevitably occurs in technological fields, digital signal processors (DSPs) and ND converters are now becoming available with sufficient speed and at a reasonable cost, which will help cause a shift from analog servos to DSP-based servos for use with galvanometer scanners.
Analog servos typically have a relatively large number of potentiometers used to “tune” the servo for optimal performance. These potentiometers adjust a number of servo parameters including servo gain, damping, notch filter frequency, notch filter depth, input gain, input offset, etc. There are typically also two additional potentiometers to adjust the position scale and position offset of the position detector. Although these last two are not servo parameters in the strictest sense, they certainly do affect servo performance and accuracy. All these potentiometers must be manually adjusted, or “tuned,” by humans. Typically this tuning is done at the factory, but sometimes further tuning is required in the field. Because engineers may not be the end-users of systems with galvanometer scanners, any non-factory tuning can result in sub-optimal operation.
The shift towards DSP-based servo systems will obviate the need for all these adjustment potentiometers, because servo parameters such as servo gain, damping, notch filter frequency, etc. will all be set by algorithmic constants. These algorithmic constants can be manually “tuned” by humans, in a similar way that the potentiometer adjustments were made, only using a user interface to make the adjustments, or alternatively these algorithmic constants may be tuned automatically, by some intelligent tuning algorithm. This is possible because almost all the information about the scanning system can be gleaned merely by exercising the scanner and observing what happens with the position signal. For example, the torque constant of the scanner can be derived by observing the back-EMF of the scanner. Stated in mechanical engineering terms KT=KE. That is, dyne centimeters of torque per amp is directly proportional to motor back-emf volts per degree per second. Thus, if the servo creates scanner motion, and can measure the “degrees per second” and the motor back emf, then the servo can derive the precise torque constant (KT) of the scanner.
Once the KT is known, the servo could next apply a pulse of known current for a short time, and measure the angular acceleration that results, and thus the servo can glean the system inertia (J) of the rotor, mirror, and position detector, since force equals mass times acceleration. Therefore, inertia equals KT divided by acceleration.
Next, the servo could wrap a light loop around the scanner and perform a bode plot, thus revealing all system resonances. With this information, the servo could set all constants for the poles and zeros of notch and bi-quad filters.
Once the torque constant, system inertia, and system resonances are all known, all servo parameters could be easily set in a matter of seconds, with digital precision, achieving the absolute maximum performance from the scanner and servo system. But in order for all this to happen, the servo system needs one fundamental piece of information. The servo must know the “position scale.” That is, the servo must first know the volts per degree from the position detector.
As discussed previously, with previously known position detectors, it is impossible for servos to know the position scale with absolute certainty; so it is impossible to make a digital servo that will completely auto-tune. Up until now, scanner manufacturers have side-stepped this problem by putting small memory chips within the scanner. A digital servo could read this memory chip, and this memory chip is pre-programmed at the factory with information including the torque constant, position scale and position offset, and other information about the scanner. The problem with this approach is that these parameters can change over time. The torque constant of the scanner depends on the magnetism of the rotor (or other scanner components), and this magnetism certainly changes with temperature, and, if the scanner is abused or overheated, can also change with time. Position detector components also change with time due to component drift and also due to temperature and other environmental effects.
Therefore, it would be beneficial to provide a rotary position detector having improved signal-to-noise ratio and also provide absolute position accuracy.